home *** CD-ROM | disk | FTP | other *** search
- package javax.management;
-
- import com.sun.jmx.mbeanserver.Introspector;
- import java.lang.reflect.Proxy;
-
- public class JMX {
- static final JMX proof = new JMX();
- public static final String DEFAULT_VALUE_FIELD = "defaultValue";
- public static final String IMMUTABLE_INFO_FIELD = "immutableInfo";
- public static final String INTERFACE_CLASS_NAME_FIELD = "interfaceClassName";
- public static final String LEGAL_VALUES_FIELD = "legalValues";
- public static final String MAX_VALUE_FIELD = "maxValue";
- public static final String MIN_VALUE_FIELD = "minValue";
- public static final String MXBEAN_FIELD = "mxbean";
- public static final String OPEN_TYPE_FIELD = "openType";
- public static final String ORIGINAL_TYPE_FIELD = "originalType";
-
- private JMX() {
- }
-
- public static <T> T newMBeanProxy(MBeanServerConnection var0, ObjectName var1, Class<T> var2) {
- return (T)newMBeanProxy(var0, var1, var2, false);
- }
-
- public static <T> T newMBeanProxy(MBeanServerConnection var0, ObjectName var1, Class<T> var2, boolean var3) {
- return (T)MBeanServerInvocationHandler.newProxyInstance(var0, var1, var2, var3);
- }
-
- public static <T> T newMXBeanProxy(MBeanServerConnection var0, ObjectName var1, Class<T> var2) {
- return (T)newMXBeanProxy(var0, var1, var2, false);
- }
-
- public static <T> T newMXBeanProxy(MBeanServerConnection var0, ObjectName var1, Class<T> var2, boolean var3) {
- try {
- Introspector.testComplianceMXBeanInterface(var2);
- } catch (NotCompliantMBeanException var7) {
- throw new IllegalArgumentException(var7);
- }
-
- MBeanServerInvocationHandler var4 = new MBeanServerInvocationHandler(var0, var1, true);
- Class[] var5;
- if (var3) {
- var5 = new Class[]{var2, NotificationEmitter.class};
- } else {
- var5 = new Class[]{var2};
- }
-
- Object var6 = Proxy.newProxyInstance(var2.getClassLoader(), var5, var4);
- return (T)var2.cast(var6);
- }
-
- public static boolean isMXBeanInterface(Class<?> var0) {
- if (!var0.isInterface()) {
- return false;
- } else {
- MXBean var1 = (MXBean)var0.getAnnotation(MXBean.class);
- return var1 != null ? var1.value() : var0.getName().endsWith("MXBean");
- }
- }
- }
-